//==============================================================================
#ifndef USART_C
#define USART_C extern
#endif
//==============================================================================
#define USE_USART1  1
#define USE_USART2  1
#define USE_USART3  1
//====================================常量======================================
#define USART_BUF_SIZE		200		  //缓冲区大小
#define USART_TIMEOUT       10
//==============================================================================

typedef struct
{
	union
	{
		u8 RxComplete;
		u8 TxRunning;
	};
    u8 Timeout;         //超时时间 ms
	u8 Buf[USART_BUF_SIZE];
	u16 Count;
	u16 Size;		//长度
}USART_StructType;
//====================================变量======================================
#if(1==USE_USART1)
USART_C USART_StructType USART1_TxStruct;
USART_C USART_StructType USART1_RxStruct;
#endif

#if(1==USE_USART2)
USART_C USART_StructType USART2_TxStruct;
USART_C USART_StructType USART2_RxStruct;
#endif

#if(1==USE_USART3)
USART_C USART_StructType USART3_TxStruct;
USART_C USART_StructType USART3_RxStruct;
#endif
//====================================函数======================================
USART_C void USART_Config(USART_TypeDef *mUsart, u32 mBaud, u16 mWordLength, u16 mStopBits, u16 mParity);
USART_C void USART_TxStart(USART_TypeDef *mUsart);
USART_C void USART_RxStart(USART_TypeDef *mUsart);
USART_C void USART_RxTimeoutIrq(USART_TypeDef *mUsart);
USART_C void USART_RxIrq(USART_TypeDef *mUsart);

#if(1==USE_USART1)
USART_C	void USART1_IRQHandler(void);
USART_C void DMA1_Channel4_IRQHandler(void);
#endif

#if(1==USE_USART2)
USART_C	void USART2_IRQHandler(void);
USART_C void DMA1_Channel7_IRQHandler(void);
#endif

#if(1==USE_USART3)
USART_C	void USART3_IRQHandler(void);
USART_C void DMA1_Channel2_IRQHandler(void);
#endif
//==============================================================================

//==============================================================================


//NO MORE=======================================================================
